package com.gdust.spzx.common.anno;

import com.gdust.spzx.common.feign.UserTokenOpenFeignInterceptor;
import org.springframework.context.annotation.Import;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * ClassName: EnableUserTokenFeignInterceptor
 * Package: com.gdust.spzx.common.anno
 * Description:
 * 自定义注解，用于启用 Feign 拦截器：UserTokenOpenFeignInterceptor。
 * 该注解可以用于 Spring Boot 应用的配置类中，自动引入 UserTokenOpenFeignInterceptor 类，使得 OpenFeign 请求能够携带当前用户的 token，
 * 从而解决跨服务调用时丢失请求头的问题。
 *
 * @Author syun
 * @Create 2024/12/27 22:10
 * @Version 1.0
 */
@Retention(value = RetentionPolicy.RUNTIME) // 注解会在运行时保留
@Target(value = ElementType.TYPE) // 可以应用于类、接口或枚举类型上
@Import(value = UserTokenOpenFeignInterceptor.class) // 导入 UserTokenOpenFeignInterceptor 配置类
public @interface EnableUserTokenFeignInterceptor {
}
